iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
AI/ ML & Data

From Python Beginner To AI Engineer系列 第 7

如何儲存運算結果?

  • 分享至 

  • xImage
  •  

基本賦值

上一篇文章結尾的練習題談到「馬拉松新手花生,最近跑半馬花了 16521 秒完賽,請問這是幾小時、幾分鐘又幾秒鐘呢?」,在筆者提供的 Colab 裡面附上的解答如下:

>>> 16521 % 60
21
>>> 16521 // 60
275
>>> 275 % 60
35
>>> 275 // 60
4

這樣的寫法看起來是不是很麻煩呢?需要把 16521 拿來算個兩次,分別取得秒數跟分鐘數,再把求得的 275 分鐘拿來算兩次,算出最後的答案。雖然這樣的做法簡單直白,但如果題目給的總秒數改了,那便要修改多處才能重新計算正確的結果。

程式碼就是來應付各種不同輸入的,所以需要更有彈性的寫法!

這時便能透過變數來將運算結果給存下來!變數讓我們可以透過有意義的名稱來代表某些數值,例如:

>>> s = 16521
>>> s % 60
21
>>> s // 60
275

這裡使用 s = 16521 來表示 s 這個符號目前代表 16521 這個數值。此處與一般的數學符號意義不同,一般的數學符號 = 是用來表示等號的左右兩邊相等,但是在程式語言裡面,等號是用來賦值的!也就是我們賦予一個值給 s,其值為 16521

這裡的 s 代表的是 seconds 的字首。

這樣做的好處在於,如果今天完賽的時間不是 16521 秒了,而是 19487 秒,那只需要修改 s = 19487 這行就好,後續的程式碼不須修改也能正確執行。

存放運算結果

方才透過 s // 60 得到的 275 分鐘,在後續依然需要用上兩次,因此可以把他存在另外一個變數裡面:

>>> s = 16521
>>> m = s // 60
>>> m
275

將變數獨立放在最後一行,可以顯示該變數的內容。

統整以上程式碼,分別使用 h, m, s 來代表小時、分鐘、秒:

>>> s = 16521
>>> m = s // 60  # 存放總分鐘數
>>> h = m // 60  # 存放總小時數
>>> s = s % 60   # 存放目標秒數
>>> m = m % 60   # 存放目標分鐘數
>>> h, m, s
(4, 35, 21)

將多個變數用逗號分開放在最後一行,可以顯示多個變數的內容。

這時無論題目給的總秒數怎麼改變,都可以輕鬆算得最終答案囉!

變數命名規則

變數的命名相當自由,可以使用:

  1. 英文字母 A~Z, a~z
  2. 數字 0~9
  3. 底線 _

但還是有些限制:

  1. 不能使用數字開頭:
    • 可以命名為 a1, b2,但是不能命名為 1a, 2b
  2. 不同的大小寫視為不同變數:
    • 變數 abcABC 代表不一樣的變數。
  3. 不能使用保留字:
    • 所謂的保留字是指 Python 本身既有的語法,例如 if, for, while 等,詳細的保留字列表可以參考官方文件

自我練習

變數與變數之間也能互相運算,來試試看計算直角三角形的斜邊邊長吧!

  1. 短邊 a = 3 公分,長邊 b = 4 公分,請問斜邊 c 是幾公分呢?
    • 提示:短邊平方與長邊平方相加開根號即為斜邊邊長。
  2. 半徑為 r = 5 的圓形,面積是多少呢?
    • 提示:圓形面積公式為圓周率 3.14 乘上半徑的平方。
  3. 現在有個變數 a = 3,要怎麼寫讓 a 的值 +1 變成 4 呢?

完整的程式碼放在此 Colab 裡面供各位參考。


上一篇
如何使用 Colab 寫 Python 呢?
下一篇
什麼是複合賦值?
系列文
From Python Beginner To AI Engineer31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言